#ifdef __IAR_SYSTEMS_ICC
#ifndef __SMLFIFO
#include <sml_fifo.h>
#endif

extern volatile SFIFOHeader ASTBX0OutFIFO, ASTBX1OutFIFO, ASTBX2OutFIFO;
extern volatile SFIFOHeader ASTBX3OutFIFO, ASTBX3OutFIFO, ASTBX3OutFIFO, ASTBX4OutFIFO;
extern volatile unsigned char ASTBX0Flags, ASTBX1Flags, ASTBX2Flags;
extern volatile unsigned char ASTBX3Flags, ASTBX4Flags, ASTBX5Flags, ASTBX6Flags;

extern void ASTBX0Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX0Xmit(void);
extern int  ASTBX0XmitChr(unsigned char ch);
extern int  ASTBX0XmitStr(char *str);
extern int  ASTBX0XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX0Suspend(void);
extern void ASTBX0Resume(void);

extern void ASTBX1Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX1Xmit(void);
extern int  ASTBX1XmitChr(unsigned char ch);
extern int  ASTBX1XmitStr(char *str);
extern int  ASTBX1XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX1Suspend(void);
extern void ASTBX1Resume(void);

extern void ASTBX2Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX2Xmit(void);
extern int  ASTBX2XmitChr(unsigned char ch);
extern int  ASTBX2XmitStr(char *str);
extern int  ASTBX2XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX2Suspend(void);
extern void ASTBX2Resume(void);

extern void ASTBX3Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX3Xmit(void);
extern int  ASTBX3XmitChr(unsigned char ch);
extern int  ASTBX3XmitStr(char *str);
extern int  ASTBX3XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX3Suspend(void);
extern void ASTBX3Resume(void);

extern void ASTBX4Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX4Xmit(void);
extern int  ASTBX4XmitChr(unsigned char ch);
extern int  ASTBX4XmitStr(char *str);
extern int  ASTBX4XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX4Suspend(void);
extern void ASTBX4Resume(void);

extern void ASTBX5Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX5Xmit(void);
extern int  ASTBX5XmitChr(unsigned char ch);
extern int  ASTBX5XmitStr(char *str);
extern int  ASTBX5XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX5Suspend(void);
extern void ASTBX5Resume(void);

extern void ASTBX6Init(unsigned short UBR, unsigned char UMCTL);
extern void ASTBX6Xmit(void);
extern int  ASTBX6XmitChr(unsigned char ch);
extern int  ASTBX6XmitStr(char *str);
extern int  ASTBX6XmitBlk(unsigned char *buf, unsigned short sz);
extern void ASTBX6Suspend(void);
extern void ASTBX6Resume(void);

#else
            EXTERN  ASTBX0OutFIFO, ASTBX0Flags
            EXTERN  ASTBX0INIT, ASTBX0INT
            EXTERN  ASTBX0Xmit, ASTBX0Xmit_NBP, ASTBX0XmitChr
            EXTERN  ASTBX0XmitStr, ASTBX0XmitBlk
            EXTERN  ASTBX0Suspend, ASTBX0Resume
            
            EXTERN  ASTBX1OutFIFO, ASTBX1Flags
            EXTERN  ASTBX1INIT, ASTBX1INT
            EXTERN  ASTBX1Xmit, ASTBX0Xmit_NBP, ASTBX1XmitChr
            EXTERN  ASTBX1XmitStr, ASTBX1XmitBlk
            EXTERN  ASTBX1Suspend, ASTBX1Resume

            EXTERN  ASTBX2OutFIFO, ASTBX2Flags
            EXTERN  ASTBX2INIT, ASTBX2INT
            EXTERN  ASTBX2Xmit, ASTBX2Xmit_NBP, ASTBX2XmitChr
            EXTERN  ASTBX2XmitStr, ASTBX2XmitBlk
            EXTERN  ASTBX2Suspend, ASTBX2Resume
            
            EXTERN  ASTBX3OutFIFO, ASTBX3Flags
            EXTERN  ASTBX3INIT, ASTBX3INT
            EXTERN  ASTBX3Xmit, ASTBX3Xmit_NBP, ASTBX3XmitChr
            EXTERN  ASTBX3XmitStr, ASTBX3XmitBlk
            EXTERN  ASTBX3Suspend, ASTBX3Resume

            EXTERN  ASTBX4OutFIFO, ASTBX4Flags
            EXTERN  ASTBX4INIT, ASTBX4INT
            EXTERN  ASTBX4Xmit, ASTBX4Xmit_NBP, ASTBX4XmitChr
            EXTERN  ASTBX4XmitStr, ASTBX4XmitBlk
            EXTERN  ASTBX4Suspend, ASTBX4Resume

            EXTERN  ASTBX5OutFIFO, ASTBX5Flags
            EXTERN  ASTBX5INIT, ASTBX5INT
            EXTERN  ASTBX5Xmit, ASTBX5Xmit_NBP, ASTBX5XmitChr
            EXTERN  ASTBX5XmitStr, ASTBX5XmitBlk
            EXTERN  ASTBX5Suspend, ASTBX5Resume

            EXTERN  ASTBX6OutFIFO, ASTBX6Flags
            EXTERN  ASTBX6INIT, ASTBX6INT
            EXTERN  ASTBX6Xmit, ASTBX6Xmit_NBP, ASTBX6XmitChr
            EXTERN  ASTBX6XmitStr, ASTBX6XmitBlk
            EXTERN  ASTBX6Suspend, ASTBX6Resume
#endif
            
